package com.tangjiali.stream_topic1;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;

public class Solution {
    public static void main(String[] args) {
        List<String> one = new ArrayList<>();
        one.add("黄老邪");
        one.add("陈玄风");
        one.add("梅超风");
        one.add("陆乘风");
        one.add("曲灵风");
        one.add("武眠风");
        one.add("冯默风");
        one.add("罗玉风");
        List<String> two = new ArrayList<>();
        two.add("张三丰");
        two.add("宋远桥");
        two.add("俞莲舟");
        two.add("俞岱岩");
        two.add("张松溪");
        two.add("张翠山");
        two.add("殷梨亭");
        two.add("莫声谷");
//        1. 第一个队伍只要名字为3个字的成员姓名；

//        2. 第一个队伍筛选之后只要前3个人；
        Stream<String> s1 = one.stream().filter(str -> str.length() == 3).limit(3);
//        s1.forEach(s -> System.out.println(s));
//        System.out.println("------------------------------------");
//        3. 第二个队伍只要姓张的成员姓名；
//        4. 第二个队伍筛选之后不要前2个人
        Stream<String> s2 = two.stream().filter(s -> s.startsWith("张")).skip(2);
//        s2.forEach(s -> System.out.println(s));
//        5. 将两个队伍合并为一个队伍；
        Stream<String> s1_2 = Stream.concat(s1, s2);
        s1_2.forEach(s -> System.out.println(s));

//        7. 打印整个队伍的Person对象信息。
    }

}

//        6. 根据姓名创建`Person`对象；
class Person{
    private String name;

    public Person() {}

    public Person(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Person{name='" + name + "'}";
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}